package Day_0224.NetWork;

/**
 * @author zxc
 * @date 2023/02/24 18:04
 **/
public class UDP {
    public static void main(String[] args) {
        /**
         * 谈一谈对于UDP协议的理解
         * ===》
         * 一，UDP协议的定义
         * （1）UDP（User Data Protocol，用户数据报协议），是与 TCP 相对应的协议。
         * （2）是面向非连接的协议，它不与对方建立连接，而是直接就把数据包发送过去。
         *
         * 二，UDP 主要特点
         * 1.UDP 是无连接的。
         * 2.UDP 使用尽最大努力交付，即不保证可靠交付，因此主机不需要维持复杂的链接状态。
         * 3.UDP 是面向报文的。（UDP协议基于数据报文发送数据，TCP协议基于字节流来发送数据）
         * 4.UDP 没有拥塞控制，因此网络出现拥塞不会使源主机的发送速率降低。
         *
         * 三，tcp与UDP的区别
         * 1.是否面向连接
         * （1）TCP 是面向连接的；
         * （2）UDP 是无连接的。
         * 2.是否可靠
         * （1）TCP 是可靠的；
         * （2）UDP 是不可靠的。
         * 3.所支持的通信方式
         * （1）TCP 只支持点对点通信；
         * （2）UDP 支持一对一、一对多、多对一、多对多的通信模式。
         * 4.数据传输的最小单位
         * （1）TCP 是面向字节流的；
         * （2）UDP 是面向报文的。
         * 5.是否有拥塞控制机制
         * （1）TCP 有拥塞控制机制；
         * （2）UDP 没有拥塞控制，适合媒体通信。
         * 6.首部开销
         * （1）TCP 首部开销(20 个字节)，
         * （2）UDP 的首部开销(8 个字节)。
         *
         * 四，UDP 和 TCP 的特点与区别
         * 1.用户数据报协议 UDP（User Datagram Protocol）
         * ===》
         * （1）是无连接的，尽最大可能交付，没有拥塞控制，
         * （2）面向报文（对于应用程序传下来的报文不合并也不拆分，只是添加 UDP 首部），
         * （3）支持一对一、一对多、多对一和多对多的交互通信。
         *
         * 2.传输控制协议 TCP（Transmission Control Protocol）
         * ===》
         * （1）是面向连接的，提供可靠交付，有流量控制，拥塞控制，提供全双工通信，
         * （2）面向字节流（把应用层传下来的报文看成字节流，把字节流组织成大小不等的数据块），
         * （3）每一条 TCP 连接只能是点对点的（一对一）。
         *
         *
         */
    }
}
